home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 1
/
Gold Medal Software Volume 1 (Gold Medal) (1994).iso
/
graphics
/
povsrc20.arj
/
SOURCE
/
TEXTURE.H
< prev
next >
Wrap
C/C++ Source or Header
|
1993-07-08
|
2KB
|
58 lines
/****************************************************************************
* texture.h
*
* This file contains defines and variables for the txt*.c files
*
* from Persistence of Vision Raytracer
* Copyright 1993 Persistence of Vision Team
*---------------------------------------------------------------------------
* NOTICE: This source code file is provided so that users may experiment
* with enhancements to POV-Ray and to port the software to platforms other
* than those supported by the POV-Ray Team. There are strict rules under
* which you are permitted to use this file. The rules are in the file
* named POVLEGAL.DOC which should be distributed with this file. If
* POVLEGAL.DOC is not available or for more info please contact the POV-Ray
* Team Coordinator by leaving a message in CompuServe's Graphics Developer's
* Forum. The latest version of POV-Ray may be found there as well.
*
* This program is based on the popular DKB raytracer version 2.12.
* DKBTrace was originally written by David K. Buck.
* DKBTrace Ver 2.0-2.12 were written by David K. Buck & Aaron A. Collins.
*
*****************************************************************************/
extern long Calls_To_Noise, Calls_To_DNoise;
#define MINX -10000 /* Ridiculously large scaling values */
#define MINY MINX
#define MINZ MINX
#define MAXSIZE 267
#define RNDMASK 0x7FFF
#define RNDDIVISOR (DBL) RNDMASK
#define NUMBER_OF_WAVES 10
#define SINTABSIZE 1000
#define FLOOR(x) ((x) >= 0.0 ? floor(x) : (0.0 - floor(0.0 - (x)) - 1.0))
#define FABS(x) ((x) < 0.0 ? (0.0 - x) : (x))
#define SCURVE(a) ((a)*(a)*(3.0-2.0*(a)))
#define REALSCALE ( 2.0 / 65535.0 )
#define Hash3d(a,b,c) hashTable[(int)(hashTable[(int)(hashTable[(int)((a) & 0xfffL)] \
^ ((b) & 0xfffL))] ^ ((c) & 0xfffL))]
#define Hash2d(a,b) hashTable[(int)(hashTable[(int)((a) & 0xfffL)] ^ ((b) & 0xfffL))]
#define Hash1d(a,b) hashTable[(int)(a) ^ ((b) & 0xfffL)]
#define INCRSUM(m,s,x,y,z) ((s)*(RTable[m]*0.5 \
+ RTable[m+1]*(x) \
+ RTable[m+2]*(y) \
+ RTable[m+3]*(z)))
#define INCRSUMP(mp,s,x,y,z) ((s)*((mp[0])*0.5 + (mp[1])*(x) + (mp[2])*(y) + (mp[3])*(z)))
extern int Options;
extern DBL *sintab;
extern DBL frequency[NUMBER_OF_WAVES];
extern VECTOR Wave_Sources[NUMBER_OF_WAVES];
extern DBL *RTable;
extern short *hashTable;
extern unsigned short crctab[256];